﻿var ROOT_PATH = 'https://echarts.apache.org/examples';

var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

myChart.showLoading();

// 使用 fetch 替代 jQuery 的 $.get
fetch(ROOT_PATH + '/data/asset/data/flare.json')
    .then(function(response) {
        return response.json(); // 解析 JSON
    })
    .then(function(data) {
        myChart.hideLoading();
        data.children.forEach(function(datum, index) {
            index % 2 === 0 && (datum.collapsed = true);
        });
        myChart.setOption(
            (option = {
                tooltip: {
                    trigger: 'item',
                    triggerOn: 'mousemove'
                },
                series: [
                    {
                        type: 'tree',
                        data: [data],
                        top: '1%',
                        left: '7%',
                        bottom: '1%',
                        right: '20%',
                        symbolSize: 7,
                        label: {
                            position: 'left',
                            verticalAlign: 'middle',
                            align: 'right',
                            fontSize: 9
                        },
                        leaves: {
                            label: {
                                position: 'right',
                                verticalAlign: 'middle',
                                align: 'left'
                            }
                        },
                        emphasis: {
                            focus: 'descendant'
                        },
                        expandAndCollapse: true,
                        animationDuration: 550,
                        animationDurationUpdate: 750
                    }
                ]
            })
        );
    })
    .catch(function(error) {
        console.error('Error fetching data:', error);
        myChart.hideLoading();
    });

// 此行可能不再需要，因为 setOption 被调用在 fetch 的 then 里
// option && myChart.setOption(option);
